import { http } from '@/utils/commonRequest.js'
import { appId } from '@/utils/constant.js'
const jweixin = require('jweixin-module')

export const wechantShare = (share_title, share_desc, share_link, share_cover) => {
	let currentUrl = window.location.href.split('#')[0]
	return new Promise((resolve, reject) => {
		// const agent = navigator.userAgent.toLowerCase()
		// if (!/micromessenger/.test(agent)) {
		// 	return reject(new Error('请在微信浏览器中打开进行分享'))
		// }
		http.get('/shopgoods/getWechatParam', {
			params: {
				url: currentUrl
			}
		}).then(res => {
			res = res.data
			console.log('获取微信参数', res)
			if (res.code == 200) {
				const config = {
					debug: false,
					appId: res.appId,
					timestamp: res.timestamp,
					nonceStr: res.nonceStr,
					signature: res.signature,
					jsApiList: [//需要调用的JS接口列表
							'checkJsApi',//判断当前客户端版本是否支持指定JS接口
							'updateTimelineShareData',//分享到朋友圈
							'updateAppMessageShareData'//分享给好友
					]
				}
				jweixin.config(config)
				jweixin.ready(function() {
					console.log('js-sdk配置成功')
					jweixin.updateAppMessageShareData({
            title: share_title || "", // 分享标题
            desc: share_desc || "", // 分享描述
            link: share_link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: share_cover, // 分享后显示的封面图
            success: function () {
              console.info("分享给朋友");
							return resolve(true)
            }, // 设置成功回调
          });
					
					//分享到朋友圈
					jweixin.updateTimelineShareData({
						title: share_title || "", // 分享标题
						link: share_link, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
						imgUrl: share_cover, // 分享图标
						success: function () {
							// 用户点击了分享后执行的回调函数
							console.log("分享到朋友圈");
							return resolve(true)
						}
					})
				})
				jweixin.error(function (res) {
					// config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
					console.info("config信息验证失败");
					console.info(res);
					return reject(res)
				});
			}
		})
	})
}

export const initWxConfig = () => {
	let currentUrl = window.location.href.split('#')[0]
	http.get('/shopgoods/getWechatParam', {
		params: {
			url: currentUrl
		}
	}).then(res => {
		res = res.data
		console.log('获取微信参数', res)
		if (res.code == 200) {
			const config = {
				debug: false,
				appId: res.appId,
				timestamp: res.timestamp,
				nonceStr: res.nonceStr,
				signature: res.signature,
				jsApiList: [//需要调用的JS接口列表
					'scanQRCode',
					'checkJsApi',//判断当前客户端版本是否支持指定JS接口
					'updateTimelineShareData',//分享到朋友圈
					'updateAppMessageShareData'//分享给好友
				]
			}
			jweixin.config(config)
			jweixin.ready(function() {
				console.log('js-sdk配置成功')
			})
			jweixin.error(function (res) {
				// config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
				console.info("config信息验证失败");
				console.info(res);
				return reject(res)
			});
		}
	})
}

export const scanQRCode = () => {
	return new Promise((resolve, reject) => {
		jweixin.scanQRCode({
			needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
			scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码，默认二者都有
			success: function(res) {
				if (res && res.resultStr) {
					resolve(res.resultStr)
				}
			}
		})
	})
}